Virtual coaching platform

ABSTRACT

Some embodiments of a virtual coaching platform can analyze user and coach characteristics to determine suggested coaching partnerships. Some virtual coaching platform embodiments can implement whole-person dimensionalities used to track progress and provide coaching resources and guidance. In some implementations, the virtual coaching platform can provide six whole-person dimensions including: centered, aware, agile, includes, elevates, and drives. Some virtual coaching platform embodiments can select a subset of the dimensionalities to update using determined associations between a user and the dimensionalities. Some virtual coaching platform embodiments can implement a motivational matrix to assess a user in a readiness versus clarity domain and provide coaching suggestions based on a corresponding type.

This application claims the benefit of U.S. Provisional Application No.62/438,889, filed Dec. 23, 2016, entitled “SYSTEMS AND METHODS FORVIRTUAL EXECUTIVE COACHING,” which application is hereby incorporated byreference in its entirety.

BACKGROUND

People today face a culture of constant change, increasing complexity,and an expectation to be always-connected. These conditions haveproduced excessive stress and an unproductive, disengaged workforce. Forexample, 83% of American workers report being over stressed by theirjobs while only 13% reports feeling engaged. Various factors have led tothese conditions including a leadership gap as the “baby boom”generation retires while five distinct generations remain in theworkforce; new mobile working styles and increased connectivity thatpromote an expectation that people are always available; and theworkplace has more commonly become a place where workers expect to gainfulfillment and meaning.

These conditions of stress and disengagement can extend to people'sprivate and professional lives. For example, when working within avaried team, participants may find it difficult to create a culture ofinclusion and cooperation. New parents also face many challenges tobalance new responsibilities while maintaining high performance. Workersin a remote workforce may find it difficult to cultivate behaviors thatcreate culture across disparate locations. These are just a few of theinnumerable circumstances where people struggle with developing theskills necessary to thrive.

While individuals and companies take steps to combat challenges such asstress and disengagement, they typically over-invest in formal trainingwhile failing to focus on experiential opportunities. Instead, peopleneed personal support that focuses on experiences tailored to theindividual. However, finding individual support is difficult andexpensive. Furthermore, current coaching providers do not have theinsight necessary into their coaches and customers to provide adequatesupport for the customers or coaching guidance for the coaches.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an overview of devices on whichsome implementations can operate.

FIG. 2 is a block diagram illustrating an overview of an environment inwhich some implementations can operate.

FIG. 3 is a block diagram illustrating components which, in someimplementations, can be used in a system employing the disclosedtechnology.

FIG. 4 is a flow diagram illustrating a process used in someimplementations for analyzing characteristics of coaches and users toprovide suggestions for effective coaching partnerships.

FIG. 5 is a flow diagram illustrating a process used in someimplementations for generating scores in multiple whole-persondimensions.

FIG. 6 is a flow diagram illustrating a process used in someimplementations for selecting whole-person dimensions to update with apulse.

FIG. 7 is a flow diagram illustrating a process used in someimplementations for implementing a motivational matrix.

FIGS. 8A-F are diagrams illustrating example user interfaces forimplementing aspects of a virtual coaching platform.

The techniques introduced here may be better understood by referring tothe following Detailed Description in conjunction with the accompanyingdrawings, in which like reference numerals indicate identical orfunctionally similar elements.

DETAILED DESCRIPTION

Embodiments for operating a virtual coaching platform are described. Avirtual coaching platform can promote development in both personal andprofessional categories to develop “whole-person” skills. The virtualcoaching platform can be useful to support role transitions, such aspromotions or changes in focus, can help users achieve higherpotentials, can boost team cohesion, can alleviate skill gaps thathamper collaboration and productivity, and can teach inclusion topromote diversity. The virtual coaching platform can be personalized tosupport different learning styles and provide accountability throughhuman interaction. The virtual coaching platform can be availablethrough multiple interface types to provide convenient and continuous,as opposed to episodic, support. This can integrate the coachingexperience into everyday life, helping to build new behaviors. Thevirtual coaching platform can also provide results that are measurableusing evidence-based processes and measures so that progress is tangibleand can be evaluated.

Some of the virtual coaching platform embodiments include analyzing userand coach characteristics to determine suggested coaching partnerships.For example, coaching partnerships can be based on analysis of coachesand users styles (e.g., economy, accountability, directness, andexplorative) and interests (e.g. improve focus; improve inspiration;improve stress management; increase team impact; become more open;communicate with more poise). Scores can be generated for the level ofcompatibility between a user's and coach's various styles and interests.Coaches can be suggested to users based on a combination of the scores,the coach's availability, and the coach's current coaching capacity.Additional details regarding analyzing users and coaches and suggestingcoaching partnerships are provided below in relation to FIG. 4.

Some of the virtual platform coaching embodiments includeimplementations of a user skills model, referred to herein as a“whole-person model,” used to track progress and provide coachingresources and guidance. In some implementations, the virtual coachingplatform can utilize a whole-person model that provides six whole-persondimensions including: centered, aware, agile, includes, elevates, anddrives. In some implementations, these dimensions can each be furtherdescribed in terms of multiple sub-dimensions. In some implementations,these dimensions can be grouped into categories such as personal orleadership. The dimensions and sub-dimensions that a whole-person modelcan be divided into are together referred to herein as the“dimensionalities” of the whole-person model. Additional detailsregarding example whole-person dimensions are provided below in relationto Table 2.

In some implementations, scores can be generated in each dimension,sub-dimensions, category, or any combination thereof. Sub-dimensionsscores can be generated by determining a user score in eachsub-dimension, comparing the user sub-dimension score to a base score,as a percentile, and converting the percentile into a sub-dimensionsscore. Dimension scores can be generated in a similar manner where theuser dimension base score is determined through a combination of thesub-dimension user base scores. Dimensionality scores can be provided ina whole-person report as a benchmarking tool and can be used to selectresources and next steps in coaching based on score mappings. Additionaldetails regarding generating and using whole-person dimensionalityscores are provided below in relation to FIG. 5.

One or more of these dimensionality scores can be updated, e.g.,periodically, where the category selected to be updated can beindividually selected using associations between the user and varioustags corresponding to the dimensionalities. For example, theseassociations can include amounts of interactions a user has had withcontent or coaches relating to the dimensions, where the content and/orcoaching is determined to have various tags. Additional detailsregarding applying dimension tags and selecting pulse categories areprovided below in relation to FIG. 6.

Some of the virtual platform coaching embodiments includeimplementations of a motivational matrix. The virtual coaching platformcan assess the user in a readiness versus clarity for coaching goalsdomain. Based on the quadrant of the domain that the user falls into,the user can be mapped to a type. The user's type can be used to selectareas to work on, suggested resources, coaching strategies, etc.Additional details regarding applying a motivational matrix are providedbelow in relation to FIG. 7.

Some of the virtual platform coaching embodiments include additionalfeatures such as a resource manager, communications manager, and others.A resource manager can include resources such as exercises, trainingmaterials, videos, etc. to be provided to a user. Resources can beorganized by skill that the particular resource helps to develop. Asusers interact with and complete tasks, the resource manager can trackuser progress. Resources in the resource manager, can be tagged with oneor more whole-person dimensionalities, e.g. by manual tagging, usingnatural language processing (NLP) to automatically assign tags or torecommend tags. In some implementations, coaches can develop customresources for users, which they can tag. The custom resources can betagged based on dimensionalities in which the user for which theresource is created has been working. A communications manager canprovide various channels for users and coaches to communicate, such asby video chat, IM or text messaging, audio, through guided exercises,etc.

While current coaching providers do not have the insight necessary intotheir coaches and customers to provide adequate support for thecustomers or coaching guidance for the coaches, the virtual coachingplatform eliminates these problem by implementing specific rules tomatch coaches with users and to analyze user skills. Furthermore, thevirtual coaching system provides an improvement in virtual coaching byproviding guidance to coaches, such as how to interact with users andresources to suggest, all based on user-specific analysis in awhole-person model and motivational matrix. In addition, byintelligently selecting when and which skill level scores to update (or“pulse” as discussed below), these benefits are realized with lessintrusion and in a less time-consuming manner than in other coachingsystems.

Several implementations are discussed below in more detail in referenceto the figures. Turning now to the figures, FIG. 1 is a block diagramillustrating an overview of devices on which some implementations of thedisclosed technology can operate. The devices can comprise hardwarecomponents of a device 100 that implement a virtual coaching platform.Device 100 can include one or more input devices 120 that provide inputto the CPU(s) (processor) 110, notifying it of actions. The actions canbe mediated by a hardware controller that interprets the signalsreceived from the input device and communicates the information to theCPU 110 using a communication protocol. Input devices 120 include, forexample, a mouse, a keyboard, a touchscreen, an infrared sensor, atouchpad, a wearable input device, a camera- or image-based inputdevice, a microphone, or other user input devices.

CPU 110 can be a single processing unit or multiple processing units ina device or distributed across multiple devices. CPU 110 can be coupledto other hardware devices, for example, with the use of a bus, such as aPCI bus or SCSI bus. The CPU 110 can communicate with a hardwarecontroller for devices, such as for a display 130. Display 130 can beused to display text and graphics. In some implementations, display 130provides graphical and textual visual feedback to a user. In someimplementations, display 130 includes the input device as part of thedisplay, such as when the input device is a touchscreen or is equippedwith an eye direction monitoring system. In some implementations, thedisplay is separate from the input device. Examples of display devicesare: an LCD display screen, an LED display screen, a projected,holographic, or augmented reality display (such as a heads-up displaydevice or a head-mounted device), and so on. Other I/O devices 140 canalso be coupled to the processor, such as a network card, video card,audio card, USB, firewire or other external device, camera, printer,speakers, CD-ROM drive, DVD drive, disk drive, or Blu-Ray device.

In some implementations, the device 100 also includes a communicationdevice capable of communicating wirelessly or wire-based with a networknode. The communication device can communicate with another device or aserver through a network using, for example, TCP/IP protocols. Device100 can utilize the communication device to distribute operations acrossmultiple network devices.

The CPU 110 can have access to a memory 150 in a device or distributedacross multiple devices. A memory includes one or more of varioushardware devices for volatile and non-volatile storage, and can includeboth read-only and writable memory. For example, a memory can compriserandom access memory (RAM), CPU registers, read-only memory (ROM), andwritable non-volatile memory, such as flash memory, hard drives, floppydisks, CDs, DVDs, magnetic storage devices, tape drives, device buffers,and so forth. A memory is not a propagating signal divorced fromunderlying hardware; a memory is thus non-transitory. Memory 150 caninclude program memory 160 that stores programs and software, such as anoperating system 162, virtual coaching platform 164, and otherapplication programs 166. Memory 150 can also include data memory 170which can be provided to the program memory 160 or any element of thedevice 100. Memory 170 can include a variety of virtual coachingplatform data, such as user and coach style and interest factor values,coach availability and capacity data, user whole-person metrics,measures of user interaction with virtual coaching platform items,virtual coaching platform item metadata such as whole-person model tags,virtual coaching platform resources such as videos, exercises,recordings, reading materials, etc., transcripts of communicationsbetween users and coaches, responses to readiness and clarity questions,coaching suggestions, configuration data, settings, user options orpreferences, etc.

Some implementations can be operational with numerous other computingsystem environments or configurations. Examples of computing systems,environments, and/or configurations that may be suitable for use withthe technology include, but are not limited to, personal computers,server computers, handheld or laptop devices, cellular telephones,wearable electronics, gaming consoles, tablet devices, multiprocessorsystems, microprocessor-based systems, set-top boxes, programmableconsumer electronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include any of the above systemsor devices, or the like.

FIG. 2 is a block diagram illustrating an overview of an environment 200in which some implementations of the disclosed technology can operate.Environment 200 can include one or more client computing devices 205A-D,examples of which can include device 100. Client computing devices 205can operate in a networked environment using logical connections 210through network 230 to one or more remote computers, such as a servercomputing device.

In some implementations, server 210 can be an edge server which receivesclient requests and coordinates fulfillment of those requests throughother servers, such as servers 220A-C. Server computing devices 210 and220 can comprise computing systems, such as device 100. Though eachserver computing device 210 and 220 is displayed logically as a singleserver, server computing devices can each be a distributed computingenvironment encompassing multiple computing devices located at the sameor at geographically disparate physical locations. In someimplementations, each server 220 corresponds to a group of servers.

Client computing devices 205 and server computing devices 210 and 220can each act as a server or client to other server/client devices.Server 210 can connect to a database 215. Servers 220A-C can eachconnect to a corresponding database 225A-C. As discussed above, eachserver 220 can correspond to a group of servers, and each of theseservers can share a database or can have their own database. Databases215 and 225 can warehouse (e.g. store) information. Though databases 215and 225 are displayed logically as single units, databases 215 and 225can each be a distributed computing environment encompassing multiplecomputing devices, can be located within their corresponding server, orcan be located at the same or at geographically disparate physicallocations.

Network 230 can be a local area network (LAN) or a wide area network(WAN), but can also be other wired or wireless networks. Network 230 maybe the Internet or some other public or private network. Clientcomputing devices 205 can be connected to network 230 through a networkinterface, such as by wired or wireless communication. While theconnections between server 210 and servers 220 are shown as separateconnections, these connections can be any kind of local, wide area,wired, or wireless network, including network 230 or a separate publicor private network.

FIG. 3 is a block diagram illustrating components 300 which, in someimplementations, can be used in a system employing the disclosedtechnology. The components 300 include hardware 302, general software320, and specialized components 340. As discussed above, a systemimplementing the disclosed technology can use various hardware includingprocessing units 304 (e.g. CPUs, GPUs, APUs, etc.), working memory 306,storage memory 308 (local storage or as an interface to remote storage,such as storage 215 or 225), and input and output devices 310. Invarious implementations, storage memory 308 can be one or more of: localdevices, interfaces to remote storage devices, or combinations thereof.For example, storage memory 308 can be a set of one or more hard drives(e.g. a redundant array of independent disks (RAID)) accessible througha system bus or can be a cloud storage provider or other network storageaccessible via one or more communications networks (e.g. a networkaccessible storage (NAS) device, such as storage 215 or storage providedthrough another server 220). Components 300 can be implemented in aclient computing device such as client computing devices 205 or on aserver computing device, such as server computing device 210 or 220.

General software 320 can include various applications including anoperating system 322, local programs 324, and a basic input outputsystem (BIOS) 326. Specialized components 340 can be subcomponents of ageneral software application 320, such as local programs 324.Specialized components 340 can include coach matcher 344, whole-personscorer 346, pulse selector 348, motivational matrix 350, and componentswhich can be used for providing user interfaces, transferring data, andcontrolling the specialized components, such as interface 342. Thevirtual coaching platform can include many additional modules such as aresource manager or a communications manager, discussed below. In someimplementations, components 300 can be in a computing system that isdistributed across multiple computing devices or can be an interface toa server-based application executing one or more of specializedcomponents 340.

Coach matcher 344 can obtain a set of coaching factors and user factors,e.g. through interface 342. These factors can be various values such asquestion responses, peer reviews, values assigned to certain experiencesor achievements, etc., that are mapped to coaching style or interestcategories. Coach matcher 344 can determine a value for each user andcoach in each of the style and interest factor types. A compatibilityscore can be computed between the user and various of the coaches thathave sufficient capacity. Coaches can be suggested to the user based onthe compatibility score and the coaches' availability. Additionaldetails regarding matching a user to one or more coaches are providedbelow in relation to FIG. 4.

Whole-person scorer 346 can compute scores for a user in eachdimensionality of a whole-person model. Whole-person scorer 346 canaccomplish this by obtaining, through interface 342, metrics for eachsub-dimension and compute a combined user score for that sub-dimension.Whole-person scorer 346 can then compare that user score for thesub-dimension to a base score, e.g. national average, for thesub-dimension, using a standard deviation of the scores that created thebase score. Whole-person scorer 346 can generate a score for eachdimension by combining the sub-dimension user scores and then performingsimilar comparisons to a dimension base score. Additional detailsregarding generating scores for a user in dimensionalities of awhole-person model are provided below in relation to FIG. 5.

Pulse selector 348 can determine which whole-person scores fordimensions or sub-dimensions should be updated. Pulse selector 348 canaccomplish this by analyzing an amount of contact a user has had withvirtual coaching platform items (e.g. exercises, coach communications,videos, etc.) that are tagged according to the whole-person modeldimensionalities. In some implementations, dimensionalities can haveweighted relationships between them such that a user's interaction withan item tagged in one dimensionality can also count as contact withitems in another dimensionality, where the amount of contact can bebased on the weight defined for the relationship. Dimensionalities witha score above a corresponding threshold can be selected for updating.Scores for dimensionalities selected by pulse selector 348 can beupdated, e.g. by whole-person scorer 346. Additional details regardingselecting whole-person dimensionalities to update with a pulse areprovided below in relation to FIG. 6.

Motivational matrix 350 can provide coaching suggestions based on usertypes. Motivational matrix 350 can receive user questions answersassociated with values in a readiness/clarity domain. Based on thevalue, motivational matrix 350 can determine a location within thedomain for the user. The domain can be divided into quadrants, eachcorresponding to a user type and the user can be assigned a typeaccording to which quadrant their corresponding location falls in.Coaching suggestions can be provided to the user's coach depending onthe user type. For example, the coaching suggestions can providerecommendations on how to approach the user, recommendations on whichresources to suggest to the user, and recommendations as to things toavoid when interacting with the user. Additional details regardingimplementing a motivational matrix are provided below in relation toFIG. 7.

Those skilled in the art will appreciate that the components illustratedin FIGS. 1-3 described above, and in each of the flow diagrams discussedbelow, may be altered in a variety of ways. For example, the order ofthe logic may be rearranged, substeps may be performed in parallel,illustrated logic may be omitted, other logic may be included, etc. Insome implementations, one or more of the components described above canexecute one or more of the processes described below.

FIG. 4 is a flow diagram illustrating a process 400 used in someimplementations for analyzing characteristics of coaches and users toprovide suggestions for effective coaching partnerships. In someimplementations, process 400 can be implemented when a user joins avirtual coaching platform and needs to be matched with a coach. Process400 can also be performed if a selected coach becomes unavailable or theuser wants a different coach. Process 400 begins at block 402 andcontinues to block 404. At block 404, process 400 can obtain a set offactors for coaches that are part of the virtual coaching platform. Insome implementations, the factors can be obtained for a limited set ofthe virtual coaching platform coaches, such as those that have availablecapacity, those that have certain required qualifications (e.g. aminimum number of coaching hours, a particular degree, experience in aparticular field or role, etc.), those that have been allocated to agroup of people (e.g. a group of coaches for all users who join thevirtual coaching platform from a particular company), those that have aspecialty matching the user (e.g. a required interest or position), orthose that have a specified behavior assessment.

In some implementations, the obtained factors can gauge preferredcoaching styles and coaching interests. Coaching style factors can beorganized into types, such as autonomy; accountability; directness; andexplorativeness. Autonomy can gauge how hands-on a coach is.Accountability can gauge how frequently coaches provide check-ins,messaging, and reminders. Directness can gauge to what degree coacheswork in structured, step-by-step manner. Explorativeness can gauge howmuch a coach focuses on an open and discovery-oriented process. Coachinginterest factors can also be organized into types, such as improvingfocus, improving inspiration, improving stress management, increasingteam impact, becoming more open, and communicating with more poise.

The set of factors for each coach can be obtained from a variety ofsources such as the coach responding to a series of questions, eachconfigured to provide a value for a factor type; peer reviews or userfeedback regarding a coach the user has had, which can take the form ofrankings in categories corresponding to the factor types; or mappingsbetween experiences or qualifications and factor values. Process 400 cancombine all the factors received for a particular coach into a value forthat factor type. For example, where the factors are a set of Likertvalues corresponding to a set of questions, each with a correspondenceto factor type, an overall Likert score can be computed for all thequestions that correspond to the same factor type. This overall scorecan be the value used for that coach for that factor type.

In some implementations, these scores can be stored for coaches so theycan be re-used in future iterations of process 400 without having to berecomputed. In addition, these scores can be updated, e.g. periodicallyor in response to new information, such as a new user review or coach'sachievement.

At block 406, process 400 can obtain a set of factors for a user of thevirtual coaching platform. The user factors can be of the same type asthe coach factors. In some implementations, the process for obtainingthe user factor values can be the same as the process used for coaches,e.g. the same questions can be answered by the user or the same mappingto factor values can be used. In some implementations, while the samefactor types are valued, the process to obtain these values isdifferent. For example, the questions used to obtain Likert values forcoaches can be geared to coaching style while the questions for userscan be geared to learning styles. Once the user factor values areobtained, they can be combined in a manner similar to that performed forthe coach factors.

At block 408, process 400 can set a next factor type, of the set offactor types, as a selected factor type to be used in the loop betweenblocks 408-412. When this is the first iteration of this loop, the firstfactor type can be selected.

At block 410, process 400 can compute a factor type compatibility scoreindicating a level of compatibility between the user and the coach inthe selected factor type. In some implementations, the factor typecompatibility score is computed by multiplying the user's combined scorefor that factor type with the coach's combined score for that factortype, and dividing the product by the maximum possible score for thatfactor type. For example, if the factor type is directness, which couldhave a maximum score of 5, the user's directness score is a 3.4, and thecoaches directness score is 4.1, the compatibility score for thedirectness factor could be 3.4*4.1/5=2.79. In some implementations, themaximum score is consistent across all factor types while in otherimplementations different factor types have different maximum scores. Ahigher maximum score will generally weight a factor type as moreimportant, i.e. the compatibility score for that factor will generallybe higher than compatibility scores with a lower possible maximum. Atblock 412, process 400 can determine whether there are additional factortypes to compute a compatibility score for in the loop between blocks408-412. If so, process 400 returns to block 408. If not, process 400continues to block 414.

At block 414, process 400 can combine the factor type compatibilityscores computed at block 410. For example, process 400 can compute thesum of the compatibility scores, the average, etc.

At block 416, process 400 can select coaches with a minimum amount ofcapacity. For example, each coach can have a maximum number of usersthat they coach, which can be set for individual coaches or for coachesgenerally. In some implementations, capacity can be based on otherfactors such as number of hours each user is expected to require from acoach, guarantees of availability to a coach's users, a coach's users'factor scores or types the coach's users fall into (e.g. users with ahigh autonomy may take up less of a coaches capacity), etc. In someimplementations, instead of excluding coaches with below a minimumamount of capacity at block 416, this can occur as part of block 404where coaching factors are obtained for only coaches with the minimumamount of available capacity.

At block 418, process 400 can rank the coaches according to theircompatibility scores with the user. At block 420, process 400 candetermine each coach's availability, and adjust their rankingaccordingly. In some implementations, availability can be a binarydetermination for whether the coach has a certain amount of availableopen timeslots within a given amount of time. More specifically,availability can be true where a coach has at least one 45 minute timeslot available within the next five business days. In variousimplementations, whether a coach has availability can cause anadjustment to the compatibility score (e.g. multiplying it by ⅓, whenthe coach does not have availability), or can be a sorting factor (e.g.all coaches with availability are sorted above all coaches withoutavailability, which are then sorted by compatibility score). In someimplementations, availability can be a scaling factor, e.g. thecompatibility score between a coach and the user is adjusted on a scalebased on the coach's availability. In some cases, any amount ofavailability above a particular threshold can have the same adjustmentscore, e.g. 100%. Prioritizing coaches with a higher amount of immediateavailability can incentivize the user to schedule an initial session assoon as possible. In some implementations, coach availability isdetermined based on a calendar system of the virtual coaching platform,or based on an integration with a separate calendar (e.g. GoogleCalendar™) such as through an API. In some implementations,correspondence between a user and a coach time zone can be taken intoaccount, to ensure that availability is determined based on opentimeslots within business hours of the user.

TABLE 1 compatibility has has Is score capacity? availability?recommended? Coach A 10.0 no yes no Coach B 20.0 yes no yes (position 3)Coach C 10.0 yes yes yes (position 2) Coach D 15.0 yes yes yes (position1)

Table 1 shows a list of four coaches, whether each is included in thelist of recommended coaches based on their capacity, their compatibilityscore to a particular user, whether the coach has availability, and thecoach's position in the ranking based on the compatibility score andavailability.

At block 422, process 400 can provide ranked coaching matches. Invarious implementations, the provided coach matches can be a top number(e.g. top three) or to percentage (e.g. top 10%) of the match coaches orcan be the coaches that have a compatibility score above a threshold.

In some implementations, the list of coaches or a template for eachindividual coach is provided, e.g. using a series of coach profilepages, such as are shown in user interfaces 8A and 8B. In someimplementations, reasons why a particular coach was matched to a usercan be shown. For example, factor types that had a high impact on thecompatibility score between that coach the user can be indicated.Alternatively, or in addition, individual factors within one of thesefactor types, such as question responses, academic degrees, experiences,or other metrics used to determine the factor type compatibility scoreat block 410, can be indicated to the user.

Where process 400 is used as part of a system to assign a coach to auser, the user can select a coach, from the indicated coaches, to be hisor her coach in the virtual coaching platform. In some implementations,the user can request a new coach, which can result in repeating process400. Once a compatible coach is selected, process 400 continues to block424, where it ends.

As a user interacts with the virtual coaching platform, the platform cangenerate various scores representing skill levels for the user. Thesescores can be organized by various categories, category dimensions, andsub-dimension, i.e. dimensionalities. This structure is referred toherein as the “whole-person model.” In an example whole-person model,the scores can be within various categories such as personal andleadership. An example whole-person model can also have variousdimensions such as centered, aware, agile, includes, elevates, anddrives. The centered dimension can relate to leadership in the face ofchange and can gauge a user's ability to connect, inspire, makedecisions, be empathetic, and create a positive environment. The awaredimension can relate to being focused and present and can gauge a user'sability know oneself, know how to adapt to his or her environment, andknow how to direct their energy to maximize productivity and well-being.The agile dimension can relate to facing change and can gauge a user'sability to adjust to the unexpected, continually learn, reassess,regroup, and move forward in the face of setbacks and change. Theincludes dimension can gauge a user's ability to cultivate a culture ofcaring, trust, and open communication and create an environment whereeveryone feels that they can participate, contribute, and do their bestwork. The elevates dimension can gauge a user's ability to leverage anddevelop the collective capacity of his or her team, communicate aninspiring vision, and create a work environment of autonomy andrecognition. The drives dimension can gauge a user's ability to achieveresults, move action forward by making decisions, deliver results, andgain support from others. In some implementations, the whole-personmodel can have dimensions organized under the categories, such aspersonal: centered, aware, and agile and leadership: includes, elevates,and drives.

In some implications, various dimensions can have one or moresub-dimensions. For example, a whole-person model can have thedimension/sub-dimension relationships of—centered: purpose, engagement,energy, and calm; aware: focus, flow, values, mindfulness, and emotionalregulation; agile: resilience, growth mindset, sense of control, andrisk tolerance; includes: open communication, participation, positiverelationships, and trust climate; elevates: inspiring, coaching, andrecognizing ownership; and drives: alignment, problem-solving, feedback,and influence. Another example of a possible whole-person model isprovided below in relation to Table 2.

In some implementations, various aspects of the virtual coachingplatform can be tagged according to the whole-person model used in thevirtual coaching platform. For example, self-reporting questions togauge a user's strengths can be tagged with one or more dimensions orsub-dimensions of the whole-person model; exercises or activitiesincluded in the virtual coaching platform can be tagged for thedimensionalities of the whole-person model the exercise or activity isdesigned to promote or assess; or interactions a user takes within thevirtual coaching platform can be tagged according to the whole-personmodel dimensionalities.

FIG. 5 is a flow diagram illustrating a process 500 used in someimplementations for generating scores in multiple whole-persondimensionalities. Process 500 begins at block 502 and continues to block504. At block 504, process 500 can obtain metrics for analyzing variousdimensionalities of the whole-person model of the virtual coachingplatform. These metrics can be organized according to the dimension(s)or sub-dimension(s) for which they provide a value. These metrics can bebased on a variety of sources such as user responses to questions; peer,supervisor, or supervisee reviews; input from the user's coach;indications of the user's interaction with virtual coaching platformresources or activity scores; NLP of user communications that take placeon the virtual coaching platform; etc.

In some implementations, the virtual coaching platform can includemultiple questions, each configured to provide insight to the user'sstrength in one or more of the whole-person model dimensionalities. Thequestions can be tagged with one or more whole-person model tagscorresponding to the dimensionality the question is configured toassess. In some implementations, question responses can be mapped toparticular values, e.g. on a Likert scale. In various implementations,such questions can be answered by the user as part of a self-reportingprocess or through reviews by peers, supervisors, or supervisees of theuser. As the user interacts with a coach of the virtual coachingplatform, the coach can become familiar with the user's strengths andweaknesses in areas defined by the whole-person model dimensionalities.In various implementations, the coach can provide metrics for the user,either by directly scoring the user in dimensionalities or by answeringdimensionality tagged questions about the user, similar to the peerreview process. In some implementations, user interactions with thevirtual coaching platform can provide dimension or sub-dimensionmetrics. For example, a user can receive a metric based on individualresources or an amount of resources the user accesses for particularwhole-person model dimensionalities. As another example, the user canperform exercises provided through the virtual coaching platform whichcan tagged via the whole-person model and exercise actions or resultscan be translated into metrics. As yet a further example, the user'sprogress through “tracks” corresponding to various whole-person modeldimensionalities can be a metric. In some implementations,communications that the user performs through the virtual coachingplatform can be valued, e.g. manually by a coach that was part of thecommunication or through NLP of the communication, such as by a machinelearning engine trained based on communications of other users who haveestablished scores in various of the whole-person modeldimensionalities.

At block 506, process 500 can select a next sub-dimension as a selectedsub-dimension to be operated on by the loop between blocks 506-512. Forexample, the whole-person model used by the virtual coaching platformcan have six dimensions divided into 25 sub-dimensions. The first timeprocess 500 reaches block 506, it can set the first of thesub-dimensions as the selected sub-dimension. Then, in each iteration ofthe loop between blocks 506-512, block 506 can set a next of thesub-dimensions as the selected sub-dimension.

At block 508, process 500 can combine the metrics, obtained at block 504for the selected sub-dimension, to compute a user score for the selectedsub-dimension. For example, this can be done by taking the average orsum of the metrics for the selected sub-dimension. In someimplementations, particular metrics can be weighted before beingcombined. For example, self-reporting question responses and coachingreviews can be highly weighted (e.g. 100%), reviews by others can bemoderately weighted (e.g. 75%), user interactions with the virtualcoaching platform can be less weighted (e.g. 50%) and scores fromcommunication observations can be lowly weighted (e.g. 10%). Exampleresults for combining metrics for the selected sub-dimension into asub-dimension user scores are provided below in the “user sub score”column of Table 2.

At block 510, process 500 can compute a comparison value between theuser score for the selected sub-dimension and a base score for theselected sub-dimension. The base scores can be determined based on anaverage of user scores for the selected sub-dimension for a group ofusers, such as all users of the virtual coaching platform, users withinthe same region as the user for which process 500 is being performed, orusers within a same category (e.g. based on demographic or biographicinformation, career role or type, experience level, etc.) as this user.In some implementations, the comparison at block 510 can be performedbased on a difference between the sub-dimensions base score and the userscore in that sub-dimensions, e.g. by comparing that difference to thetotal possible score in the sub-dimension. In some implementations, thecomparison can be performed using a standard deviation in the scoresfrom the group of users that were used to determine the base score forthat sub-dimension. For example, the comparison can implement one or the“normdist” or “norm.dist” function, which provide the normaldistribution for a specified mean and standard deviation. For example,in the version of norm.dist provided by Microsoft Office™, thecomparison can be performed by the function callnorm.dist(user_sub_score, sub_base_score, base_std_div, true). Theresult of the comparison can be a percentile value. Table 2 showsexample results of this comparison in the “sub %” column. In someimplementations, this percentile can be multiplied by a constant, e.g.60, to place the sub-dimension comparison score in the selectedsub-dimension on a particular scale, e.g. 1 to 60.

At block 512, process 500 can determine whether there are additionalsub-dimensions which need to be analyzed by the loop between blocks506-512. If so, process 500 returns to block 506. If not, process 500continues to block 514.

At block 514, process 500 can select a next dimension as a selecteddimension to be operated on by the loop between blocks 514-520. Forexample, the whole-person model used by the virtual coaching platformcan have six dimensions. The first time process 500 reaches block 514,it can set the first of the dimensions as a selected dimension. Then, ineach iteration of the loop between blocks 514-520, block 514 can set anext of the dimensions as the selected dimension.

At block 516, process 500 can combine the sub-dimensions scores of theselected dimension to compute a user score for the selected dimension.In some implementations, this is done by taking an average of the usersub-dimension scores for the sub-dimensions that make up the selecteddimension. Example result of this combination are provided in the “UserDim. Score” column of Table 2.

At block 518, process 500 can compute a comparison value between theuser score for the selected dimension and a base score for the selecteddimension. Similarly to the base scores for the sub-dimensions,dimension base scores can be based on a combined score for a particulargroup of users. Similarly to the comparisons for the sub-dimensions, thecomparison score for the selected dimension can be determined bycomparing the combined user dimension score from block 516 to thedimension base score. This comparison to generate a dimension score canbe performed in a manner similar to the comparison of sub-dimensionsuser scores to sub-dimension base scores, e.g. using the “norm.dist”function. The result of the comparison can be a percentile value. Table2 shows example results of this comparison in the “Dim. %” column. Insome implementations, this percentile can be multiplied by a constant,e.g. 60, to place the user's score in the selected dimension on aparticular scale, e.g. 1 to 60.

TABLE 2 Base User Dim. Sub Base Std. Sub Sub Dim. Std. User Dim. Dim.Dim. Sub-Dim. Score Dev. Score % Base Dev. Score % Centered Purpose 3.431.17 4.12 0.72 3.41 1.19 3.52 0.54 Engage 3.57 1.10 3.33 0.41 Burnout3.36 1.26 3.89 0.66 Stress 3.30 1.22 2.75 0.33 Aware Focus 3.60 0.932.23 0.07 3.57 0.95 3.25 0.37 Flow 3.21 1.02 4.05 0.79 Values 4.31 0.673.54 0.13 Mindfulness 3.12 1.10 3.44 0.61 Emotional 3.61 1.01 2.98 0.27Regulation Agile Resilience 3.58 0.94 4.55 0.85 3.91 0.81 3.78 0.43Growth Mindset 3.92 0.85 3.45 0.29 Efficacy 3.87 0.82 3.21 0.21 RiskTolerance 4.28 0.64 3.89 0.27 Includes Open 3.90 0.76 4.76 0.87 3.870.81 4.43 0.75 Communication Participation 3.82 0.80 4.52 0.81Relationship 3.83 0.88 4.32 0.71 Building Trust Climate 3.94 0.79 4.110.58 Elevates Inspire 3.54 0.99 3.76 0.59 3.79 0.86 3.80 0.50 Coach 3.500.95 2.98 0.29 Recognition 4.19 0.70 4.67 0.75 Ownership 3.90 0.80 3.790.44 Drives Alignment 3.96 0.80 4.23 0.63 3.94 0.76 4.14 0.61 Problem3.83 0.83 4.65 0.84 Solving Feedback 3.94 0.75 3.66 0.36 Influence 4.040.67 4.03 0.50

At block 520, process 500 can determine whether there are additionaldimensions, of the dimensions of the whole-person model, to be scored inthe loop between blocks 514-520. If so, process 400 returns to block514. If not, process 500 continues to block 522.

At block 522, process 500 can determine a score for each of thecategories that the dimensions are in. Block 522 is shown in dashedlines, indicating it is a step not performed in some implementations. Insome implementations, process 500 can compute the dimension categoryscore by taking an average of the scores for the dimensions that make upthe category. In some implementations, process 500 can compute thedimension category score based on the dimension scores, in a mannersimilar to the computation of the dimension scores based on thesub-dimensions scores.

At block 524, process 500 can provide indications of the computedwhole-person scores. In some implementations, these indications can bepart of a whole-person report, e.g., as shown in FIG. 8C1-8C4. WhileFIGS. 8C1-8C4 are shown separately, in some implementations thesefigures can be combined into a single page. For example, a websiteversion of a whole-person report could include each of FIGS. 8C1-8C4 ina single page or could have any of these figures on different pages ofthe website. In some implementations, various of the whole-person scorescan be provided to the user's coach, which can be used for the coach todetermine which areas to focus on, or can be compared to variousmappings of scores to coaching materials, coaching styles, suggestions,etc. to help the coach determine how to best provide guidance to theuser. Process 500 can then continue to block 526, where it ends.

FIG. 6 is a flow diagram illustrating a process 600 used in someimplementations for selecting whole-person dimensions to update with apulse. Determining a complete whole-person report, e.g. through process500, can be resource intensive or time-consuming. For example, obtainingthe metrics needed to generate all the sub-dimensions scores can requirethe user, peers, supervisors, a coach, or others to answer a multitudeof questions. While the entirety of process 500 may be beneficial toperform in certain instances, such as when a user first joins thevirtual coaching platform, it can also be beneficial to update only asubset of dimensionality scores in particular instances. For example, asubset of the dimensionality scores can be updated periodically (e.g.,every set number of days weeks or months) or when certain milestones arereached (e.g. when particular tasks are completed, upon recommendationby a coach, upon the user interacting with the virtual coaching platformfor a certain amount of time, etc.). The updating process is referred toherein as a “pulse,” and entails performing process 500 using only asubset of the whole-person model dimensions or sub-dimensions. When apulse version of process 500 occurs, the base scores used at blocks 510and 518 can be determined using scores of users recorded for acorresponding time period or milestone. For example, if this is a pulseupdate for the 90 day from joining mark, base scores can be for otherusers who were at the same 90 period.

Which dimensionalities to pulse are selected using process 600. Forexample, process 600 can select dimensionalities to pulse based on adetermination of what has been a focus of the user's recent (e.g. sincethe last pulse) coaching experiences. Process 600 begins at block 602and continues to block 604. At block 604, process 600 can obtain metricsfor amounts of user interaction the user has had with content tagged fora dimensionality of the whole-person model. The metrics can indicateitems, tagged with a particular dimensionality, the user has interactedwith or can be an amount of time the user has interacted with suchresources. In some implementations, these items can include virtualcoaching platform resources and activities. In some implementations,these items can also include conversations or other interactions withthe user's coach or with other users. These conversations can be taggedaccording to the whole-person model, either manually by a coach thattook part in the conversation, or through the use of NLP analysis. SuchNLP analysis can be performed, for example, using a trainedclassification engine that used manually tagged conversations astraining data to select which tags should be applied to additionalconversations.

At block 606, process 600 can use determined weighted correspondencesbetween the dimensions or sub-dimensions of the whole-person model toaugment the metrics obtained at block 604. These relationships cansignify a determination that work in a particular dimensionality canalso provide a benefit in another dimension or sub-dimension. Forexample, there can be parent/child relationships between dimensions andsub-dimensions, where the weight of the relationship is a measure of thesignificance of the sub-dimension to the parent dimension. For example,a particular sub-dimension can be determined to be 25% of thesignificance of its parent dimension, and thus can have a 0.25 weightingfactor. In some implementations, these relationships can be associative,indicating that a first amount of work on a particular dimensionality isequivalent to a second amount of work in an associated dimensionality.For example, an associative relationship can specify that one hourworking in an engagement sub-dimension also qualifies as 12 minutesworking in an energy sub-dimension. In this example, there would be a0.2 weighting factor on an engagement to energy sub-dimensionrelationship.

Based on the specified dimensionality relationships, a metric for aparticular sub-dimension can cause an addition to the set of metrics foranother dimension or sub-dimension by an amount specified by therelationship weighting factor. For example, where one metric is fivehours of work in an open communication sub-domain, and where the opencommunication sub-dimension has a relationship with the trust climatesub-dimension with a weighting factor of 0.35, an additional trustclimate metric can be added in an amount of 0.35*5=1.75 hours. In someimplementations, the updating between dimensionalities at block 616 canbe limited to one hop between dimensionalities or can cascade based onall relationships between dimensionalities. In some implementations,relationships can be circular, i.e. sub-dimension A can have arelationship with sub-dimension B, which can have a relationship withsub-dimension C, which can have a relationship with sub-dimension A. Insome implementations, cascading updates can be limited to prevent addinga dimensionality type of the type that initiated the update.

At block 608, process 600 can compute a metric total for eachdimensionality. This can be accomplished, for example, by taking, foreach dimensionality, a sum or average of the corresponding metricsobtained at block 604, as updated at block 606.

At block 610, process 600 can compare the metric total of eachdimensionality against one or more thresholds. In variousimplementations, the thresholds can be specific to each dimension orsub-dimension, there can be a first threshold for dimensions and asecond threshold for sub-dimensions, or a single threshold can be usedfor the comparison across all dimensionalities.

At block 612, process 600 can perform a pulse update fordimensionalities that have a metric total above the correspondingthreshold. The pulse update or updates can include performing process500 using only the whole-person model dimensionalities selected at block610. For example, the user can be asked to respond to only the subset ofself-reporting questions that are tagged with the selecteddimensionality.

The virtual coaching platform can track a user's score in each dimensionor sub-dimension. As the pulse updates occur, each dimensionality scorecan be updated accordingly. When a pulse update occurs, a newwhole-person report or the updated score(s) can be provided to the user.In some implementations, an indication can be provided in a report toshow which scores have been updated since the last whole-person report,timestamps can be provided for each of the dimensionality scores,dimensionalities can be marked to indicate suggested areas of work, etc.Once the pulse updates have occurred, process 600 continues to block614, where it ends.

FIG. 7 is a flow diagram illustrating a process 700 used in someimplementations for implementing a motivational matrix.

A motivational matrix can be another tool of the virtual coachingplatform that provides guidance for coaches on how to interact with theuser based on one of four types, selected based on the user's readinessfor coaching or clarity of coaching goals. Process 700 begins at block702 and continues to block 704.

At block 704, process 700 can receive question responses, eachconfigured to provide a “readiness for coaching” or “clarity of coachinggoals” value for a user. For example, a list of questions can include:When engaging with a coach I prefer a style that offers: <options>; Whenworking towards goals, I prefer a style that is: <options>; Improvefocus <value>; Inspire my team <value>; Handle stress better <value>;Increase my impact <value>; Become more open <value>; Communicate withpoise <value>; Right now is a good time for me to begin working with acoach <value>; I have a clear understanding of what I would like to workon with my coach <value>; I am open to investing in my personaldevelopment right now <value>; I believe I can achieve meaningful changeor growth by working with a coach <value>; How satisfied have you beenwith your level of physical fitness?<value>; How satisfied have you beenwith your physical health?<value>; How satisfied have you been with yourdiet?<value>; How satisfied have you been with how much energy you havethroughout the day?<value>; How satisfied have you been with how muchyou get each night?<value>; How satisfied have you been with yourfriendships?<value>; How satisfied have you been with your familylife?<value>; How satisfied have you been with your relationships atwork? <value>; How satisfied have you been with your leisuretime?<value>; How satisfied have you been with your romanticrelationship(s)?<value>. Each question can have a corresponding set ofpossible responses, values, or scores, selectable by the user.

At block 706, process 700 can compute a location of a user into areadiness/clarity domain, based on the received question responses. Forexample, each possible question responses can be associated with apositive or negative value in one or both of the readiness or claritydimensions. The sum of the values in each dimension can determine alocation of the user in the readiness/clarity domain.

At block 708, process 700 can receive an adjustment, from the user'scoach, of the readiness/clarity domain location determined at block 706.As indicated by the dashed line, in some cases no adjustment is madefrom a coach. In some implementations, the adjustment can be made byproviding the user's automatic clarity or readiness scores, or locationin the readiness/clarity domain, to the coach, and having the coach editthem directly. In some implementations, the adjustment can be made byhaving the coach answer additional questions, such as the questionsdescribed above, in relation to their impression of the user, andadjusting the user's readiness and clarity scores accordingly. Invarious implementations, coaches answers can be unweighted or weightedmore or less than the user's responses.

At block 710, process 700 can determine a type for the user based on thequadrant of the readiness/clarity domain the user's location falls in.In some implementations, the quadrants can correspond to a finding type,a focus type, a nurture type, and a prove type. The finding type can befor users with low clarity and high readiness, the focus type can be forusers with high clarity and high readiness, the nurture type can be forusers with low clarity and low readiness, and the prove type can be forusers with high clarity and low readiness.

At block 712, process 700 can utilize a mapping of type to coachingsuggestions to provide guidance to a coach. For example, the coachingsuggestions can provide recommendations on how to approach the user,recommendations on which resources to suggest to the user, andrecommendations as to things to avoid when interacting with the user. Anexample of coaching suggestions for the “Find” type are provided belowin relation to FIG. 8D. Process 700 can then continue to block 714,where it ends.

An additional feature of the virtual coaching platform can include aresource manager providing access to a variety of resources. Resourcescan include, for example, exercises, reading materials, training videos,recordings, or etc. In some implementations, resources can be taggedbased on a skill level, e.g., basic, intermediate, or advanced; based ona type of activity, e.g., reading, watching, listening, or doing; and byduration. In some implementations resources can be rated, e.g., based onuser or coach feedback.

In some implementations, resources can be created to help users developin areas corresponding to the dimensionalities of the whole-personmodel, and can be tagged accordingly. Resources can be tagged accordingto dimensionalities in various ways, such as manually by coaches orother resource creators or can be tagged through an NLP method where atagging engine can be trained on previously tagged resources to providedimensionality tags for new resources.

In some implementations, coaches can create custom resources for aparticular user. The coach can tag the resource with various of thepossible tags. In some implementations, tags for a new resource can besuggested to the coach, e.g., based on the content of the resource or adimensionality that the user the resource was created for, has beenworking in. In some cases, custom resources created by one coach can beavailable to other coaches to provide to their users as well.

Users or coaches can search for or filter resources from the resourcemanager based on the various tags. For example, based on a recent pulseupdate, a coach can determine that a user has not made much progress inand “inspiring” sub-dimension and can select and suggest resources tothe user that are tagged with that sub-dimension. In someimplementations, the virtual coaching platform can track a user'sindividual progress through a particular resource or set of resources inthe resource manager. A sample user interface is provided in FIG. 8E,showing a track of resources for improving in a “centered leader”dimension, with a list of sub-dimensions (shown as “skills”), andactivities in the resource manager to complete for this track. Someadditional features of a user interface for interacting with a resourcemanager are provided in FIG. 8F.

Another feature of the virtual coaching platform can include acommunications manager. A communications manager can provide variouschannels for users and coaches to communicate, such as by video chat, IMor text messaging, audio, through guided exercises, etc. In someimplementations, the communications manager can facilitate setting upmeetings between a user and a coach, e.g. through a native calendar appor by coordinating between existing calendar apps such as Outlook™ orGoogle Calendars™. In some implementations, the communications managercan provide reminders to users or coaches about upcoming meetings or toset up a meeting when one has not occurred within a threshold amount oftime or on a given meeting schedule. In some implementations, thecommunications manager can include a “to-do” component, which caninclude a list of resources, activities, and appointments, etc., thatare upcoming for a user. In some implementations, the communicationsmanager can obtain a textual version of communications between users andcoaches, and store these transcripts for use in various NLP processesrelated to coaching of the user. In some implementations, thecommunications manager can tag communications between the coach and theuser with various whole-person model dimensionality tags, e.g. byreceiving manual tags from the coach or through an NLP process performedon a stored transcript of the communication. These tags can be used, forexample, as part of process 600 for determining which dimensionalitiesto pulse.

Several implementations of the disclosed technology are described abovein reference to the figures. The computing devices on which thedescribed technology may be implemented can include one or more centralprocessing units, memory, input devices (e.g., keyboard and pointingdevices), output devices (e.g., display devices), storage devices (e.g.,disk drives), and network devices (e.g., network interfaces). The memoryand storage devices are computer-readable storage media that can storeinstructions that implement at least portions of the describedtechnology. In addition, the data structures and message structures canbe stored or transmitted via a data transmission medium, such as asignal on a communications link. Various communications links can beused, such as the Internet, a local area network, a wide area network,or a point-to-point dial-up connection. Thus, computer-readable mediacan comprise computer-readable storage media (e.g., “non-transitory”media) and computer-readable transmission media.

Reference in this specification to “implementations” (e.g. “someimplementations,” “various implementations,” “one implementation,” “animplementation,” etc.) means that a particular feature, structure, orcharacteristic described in connection with the implementation isincluded in at least one implementation of the disclosure. Theappearances of these phrases in various places in the specification arenot necessarily all referring to the same implementation, nor areseparate or alternative implementations mutually exclusive of otherimplementations. Moreover, various features are described which may beexhibited by some implementations and not by others. Similarly, variousrequirements are described which may be requirements for someimplementations but not for other implementations.

As used herein, being above a threshold means that a value for an itemunder comparison is above a specified other value, that an item undercomparison is among a certain specified number of items with the largestvalue, or that an item under comparison has a value within a specifiedtop percentage value. As used herein, being below a threshold means thata value for an item under comparison is below a specified other value,that an item under comparison is among a certain specified number ofitems with the smallest value, or that an item under comparison has avalue within a specified bottom percentage value. As used herein, beingwithin a threshold means that a value for an item under comparison isbetween two specified other values, that an item under comparison isamong a middle specified number of items, or that an item undercomparison has a value within a middle specified percentage range.Relative terms, such as high or unimportant, when not otherwise defined,can be understood as assigning a value and determining how that valuecompares to an established threshold. For example, the phrase “selectinga fast connection” can be understood to mean selecting a connection thathas a value assigned corresponding to its connection speed that is abovea threshold.

As used herein, the word “or” refers to any possible permutation of aset of items. For example, the phrase “A, B, or C” refers to at leastone of A, B, C, or any combination thereof, such as any of: A; B; C; Aand B; A and C; B and C; A, B, and C; or multiple of any item such as Aand A; B, B, and C; A, A, B, C, and C; etc.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Specific embodiments and implementations have been described herein forpurposes of illustration, but various modifications can be made withoutdeviating from the scope of the embodiments and implementations. Thespecific features and acts described above are disclosed as exampleforms of implementing the claims that follow. Accordingly, theembodiments and implementations are not limited except as by theappended claims.

Any patents, patent applications, and other references noted above areincorporated herein by reference. Aspects can be modified, if necessary,to employ the systems, functions, and concepts of the various referencesdescribed above to provide yet further implementations. If statements orsubject matter in a document incorporated by reference conflicts withstatements or subject matter of this application, then this applicationshall control.

I/We claim:
 1. A system implementing a virtual coaching platform, thesystem comprising: one or more processors; an interface that obtainsdimensionality metrics in relation to a user, wherein eachdimensionality metric has an association to at least one dimensionalityof at least part of a user skills model, wherein the user skills modelcomprises dimensionalities made up of multiple dimensions and multiplesub-dimensions; and a memory storing instructions that, when executed bythe one or more processors, cause the system to perform operationscomprising: for each selected sub-dimension, of two or moresub-dimensions of the at least part of the user skills model: combiningthe obtained metrics associated with the selected sub-dimension into auser score for the selected sub-dimension; and computing a comparisonvalue for the selected sub-dimension by comparing the user score for theselected sub-dimension with a base score for the selected sub-dimension;for each selected dimension, of two or more dimensions of the at leastpart of the user skills model: combining the user scores for thesub-dimensions corresponding to the selected dimension into a user scorefor the selected dimension; and computing a comparison value for theselected dimension by comparing the user score for the selecteddimension with a base score for the selected dimension; and selectingone or more coaching suggestions customized to the user based on amapping of: A) the comparison value for a particular dimension, to B)the one or more coaching suggestions.
 2. The system of claim 1, whereinthe base score for a particular sub-dimension, of the two or moresub-dimensions, is an average of user scores for the particularsub-dimension for a group of users within the same geographical regionas the user; and where computing the comparison value for the particularsub-dimension is based on a standard deviation in the scores for thegroup of users.
 3. The system of claim 1, wherein at least some of theobtained metrics are values corresponding to responses, by the user, toa set of self-reporting questions; and wherein each of theself-reporting response values has the association to at least onesub-dimension by virtue of being tagged with one or more aspects of theuser skills model.
 4. The system of claim 1, wherein at least some ofthe obtained dimensionality metrics are values corresponding toresponses, by a second user who the user has identified as a peer, to aset of peer review questions.
 5. The system of claim 1, wherein themultiple dimensions in the user skills model are equivalent to:centered, aware, agile, including, elevates, and drives; wherein themultiple sub-dimensions are organized under the dimensions; wherein thesub-dimensions under in the centered dimension are equivalent to:purpose, engagement, energy, and calm; wherein the sub-dimensions underin the aware dimension are equivalent to: focus, flow, values,mindfulness, and emotional regulation; wherein the sub-dimensions underin the agile dimension are equivalent to: resilience, growth mindset,sense of control, and risk tolerance; wherein the sub-dimensions underin the including dimension are equivalent to: open communication,participation, positive relationships, and trust climate; wherein thesub-dimensions under in the agile dimension are equivalent to:inspiring, coaching, recognizing, and ownership; and wherein thesub-dimensions under in the drives dimension are equivalent to:alignment, problem solving, feedback, and influence.
 6. The system ofclaim 1, wherein the multiple dimensions in the user skills model areequivalent to: centered, aware, agile, including, elevates, and drives;and wherein the multiple sub-dimensions are organized under thedimensions.
 7. The system of claim 1, wherein the at least part of auser skills model comprises less than all of the dimensionalities of theuser skills model; and wherein computing the comparison value for eachof the selected sub-dimensions are performed to update a previouslydetermined score for a corresponding sub-dimension.
 8. The system ofclaim 1, wherein the at least part of a user skills model comprises lessthan all of the dimensionalities of the user skills model; whereincomputing the comparison value for each of the selected sub-dimensionsare performed to update a previously determined score for acorresponding sub-dimension; and wherein the dimensionalities that areincluded in the at least part of a user skills model are chosen by:obtaining pulse metrics indicating amounts of interaction the user hashad with content tagged with at least one dimensionality of the userskills model; and determining that a total of the pulse metricscorresponding to each of the dimensionalities, that are included in theat least part of a user skills model, exceeds a threshold.
 9. The systemof claim 1, wherein the at least part of a user skills model comprisesless than all of the dimensionalities of the user skills model; whereincomputing the comparison value for each of the selected sub-dimensionsare performed to update a previously determined score for acorresponding sub-dimension; and wherein at least a first of thedimensionalities that are included in the at least part of a user skillsmodel is chosen by: obtaining pulse metrics indicating amounts ofinteraction the user has had with content tagged with at least onedimensionality of the user skills model; augmenting the pulse metricswith an additional pulse metric in the first dimensionality by applyinga mapping, between a second dimensionality to the first dimensionality,that has a weighting factor, wherein applying the mapping comprisesmultiplying one of the obtained pulse metrics corresponding to thesecond dimensionality by the weighting factor; computing a total pulsemetric for the first dimensionality by combining at least one of theobtained pulse metrics corresponding to the first dimensionality and theadditional pulse metric; and determining that the total pulse metric forthe first dimensionality exceeds a threshold.
 10. A computer-readablestorage medium storing instructions that, when executed by a computingsystem, cause the computing system to perform operations for assessinguser competencies in dimensionalities of a user skills model, theoperations comprising: obtaining dimensionality metrics in relation to auser, wherein each dimensionality metric has an association to at leastone dimensionality of at least part of a user skills model, wherein theuser skills model comprises dimensionalities made up of multipledimensions and multiple sub-dimensions; for each selected sub-dimension,of two or more sub-dimensions of the at least part of the user skillsmodel: combining the obtained metrics associated with the selectedsub-dimension into a user score for the selected sub-dimension; andcomputing a comparison value for the selected sub-dimension by comparingthe user score for the selected sub-dimension with a base score for theselected sub-dimension; for each selected dimension, of two or moredimensions of the at least part of the user skills model: combining theuser scores for the sub-dimensions corresponding to the selecteddimension into a user score for the selected dimension; and computing acomparison value for the selected dimension by comparing the user scorefor the selected dimension with a base score for the selected dimension;and providing assessments of user competencies in dimensionalities ofthe user skills model based on the computed comparison values for thetwo or more sub-dimensions and the computed comparison values for thetwo or more dimensions.
 11. The computer-readable storage medium ofclaim 10, wherein at least some of the obtained metrics are valuescorresponding to responses, by the user, to a set of self-reportingquestions; and wherein each of the self-reporting response values hasthe association to at least one sub-dimension by virtue of being taggedwith one or more aspects of the user skills model.
 12. Thecomputer-readable storage medium of claim 10, wherein the multipledimensions in the user skills model are equivalent to: centered, aware,agile, including, elevates, and drives; and wherein the multiplesub-dimensions are organized under the dimensions.
 13. Thecomputer-readable storage medium of claim 10, wherein the sub-dimensionsunder in the centered dimension are equivalent to: purpose, engagement,energy, and calm; wherein the sub-dimensions under in the awaredimension are equivalent to: focus, flow, values, mindfulness, andemotional regulation; wherein the sub-dimensions under in the agiledimension are equivalent to: resilience, growth mindset, sense ofcontrol, and risk tolerance; wherein the sub-dimensions under in theincluding dimension are equivalent to: open communication,participation, positive relationships, and trust climate; wherein thesub-dimensions under in the agile dimension are equivalent to:inspiring, coaching, recognizing, and ownership; and wherein thesub-dimensions under in the drives dimension are equivalent to:alignment, problem solving, feedback, and influence.
 14. Thecomputer-readable storage medium of claim 10, wherein the at least partof a user skills model comprises less than all of the dimensionalitiesof the user skills model; wherein computing the comparison value foreach of the selected sub-dimensions are performed to update a previouslydetermined score for a corresponding sub-dimension; and wherein at leasta first of the dimensionalities that are included in the at least partof a user skills model is chosen by: obtaining pulse metrics indicatingamounts of interaction the user has had with content tagged with atleast one dimensionality of the user skills model; augmenting the pulsemetrics with an additional pulse metric in the first dimensionality byapplying a mapping, between a second dimensionality to the firstdimensionality, that has a weighting factor, wherein applying themapping comprises multiplying one of the obtained pulse metricscorresponding to the second dimensionality by the weighting factor;computing a total pulse metric for the first dimensionality by combiningat least one of the obtained pulse metrics corresponding to the firstdimensionality and the additional pulse metric; and determining that thetotal pulse metric for the first dimensionality exceeds a threshold. 15.A method for assessing user competencies in dimensionalities of a userskills model, the method comprising: obtaining dimensionality metrics inrelation to a user, wherein each dimensionality metric has anassociation to at least one dimensionality of at least part of a userskills model, and wherein the user skills model comprisesdimensionalities made up of multiple dimensions and multiplesub-dimensions; for each selected dimension, of two or more dimensionsof the at least part of the user skills model: combining user scores forthe sub-dimensions corresponding to the selected dimension into a userscore for the selected dimension; and computing a comparison value forthe selected dimension by comparing the user score for the selecteddimension with a base score for the selected dimension; and providingindications of the computed comparison values for the dimensions. 16.The method of claim 15 further comprising: for each selectedsub-dimension, of two or more sub-dimensions of the at least part of theuser skills model: combining the obtained metrics associated with theselected sub-dimension into a user score for the selected sub-dimension;and computing a comparison value for the selected sub-dimension bycomparing the user score for the selected sub-dimension with a basescore for the selected sub-dimension; and providing indications of thecomputed comparison values for the sub-dimensions.
 17. The method ofclaim 15, wherein at least some of the obtained metrics are valuescorresponding to responses, by the user, to a set of self-reportingquestions; and wherein each of the self-reporting response values hasthe association to at least one sub-dimension by virtue of being taggedwith one or more aspects of the user skills model.
 18. The method ofclaim 15, wherein the multiple dimensions in the user skills model areequivalent to: centered, aware, agile, including, elevates, and drives;and wherein the multiple sub-dimensions are organized under thedimensions.
 19. The method of claim 15, wherein the sub-dimensions underin the centered dimension are equivalent to: purpose, engagement,energy, and calm; wherein the sub-dimensions under in the awaredimension are equivalent to: focus, flow, values, mindfulness, andemotional regulation; wherein the sub-dimensions under in the agiledimension are equivalent to: resilience, growth mindset, sense ofcontrol, and risk tolerance; wherein the sub-dimensions under in theincluding dimension are equivalent to: open communication,participation, positive relationships, and trust climate; wherein thesub-dimensions under in the agile dimension are equivalent to:inspiring, coaching, recognizing, and ownership; and wherein thesub-dimensions under in the drives dimension are equivalent to:alignment, problem solving, feedback, and influence.
 20. The method ofclaim 15, wherein the at least part of a user skills model comprisesless than all of the dimensionalities of the user skills model; whereincomputing the comparison value for each of the selected sub-dimensionsare performed to update a previously determined score for acorresponding sub-dimension; and wherein at least a first of thedimensionalities that are included in the at least part of a user skillsmodel is chosen by: obtaining pulse metrics indicating amounts ofinteraction the user has had with content tagged with at least onedimensionality of the user skills model; augmenting the pulse metricswith an additional pulse metric in the first dimensionality by applyinga mapping, between a second dimensionality to the first dimensionality,that has a weighting factor, wherein applying the mapping comprisesmultiplying one of the obtained pulse metrics corresponding to thesecond dimensionality by the weighting factor; computing a total pulsemetric for the first dimensionality by combining at least one of theobtained pulse metrics corresponding to the first dimensionality and theadditional pulse metric; and determining that the total pulse metric forthe first dimensionality exceeds a threshold.